{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
    "    <a href=\"https://cocl.us/corsera_da0101en_notebook_top\">\n",
    "         <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/TopAd.png\" width=\"750\" align=\"center\">\n",
    "    </a>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a href=\"https://www.bigdatauniversity.com\"><img src = \"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/CCLog.png\" width = 300, align = \"center\"></a>\n",
    "\n",
    "<h1 align=center><font size=5>Data Analysis with Python</font></h1>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h1>Module 4: Model Development</h1>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>In this section, we will develop several models that will predict the price of the car using the variables or features. This is just an estimate but should give us an objective idea of how much the car should cost.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Some questions we want to ask in this module\n",
    "<ul>\n",
    "    <li>do I know if the dealer is offering fair value for my trade-in?</li>\n",
    "    <li>do I know if I put a fair value on my car?</li>\n",
    "</ul>\n",
    "<p>Data Analytics, we often use <b>Model Development</b> to help us predict future observations from the data we have.</p>\n",
    "\n",
    "<p>A Model will help us understand the exact relationship between different variables and how these variables are used to predict the result.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>Setup</h4>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Import libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "load data and store in dataframe df:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This dataset was hosted on IBM Cloud object click <a href=\"https://cocl.us/DA101EN_object_storage\">HERE</a> for free storage."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>symboling</th>\n",
       "      <th>normalized-losses</th>\n",
       "      <th>make</th>\n",
       "      <th>aspiration</th>\n",
       "      <th>num-of-doors</th>\n",
       "      <th>body-style</th>\n",
       "      <th>drive-wheels</th>\n",
       "      <th>engine-location</th>\n",
       "      <th>wheel-base</th>\n",
       "      <th>length</th>\n",
       "      <th>...</th>\n",
       "      <th>compression-ratio</th>\n",
       "      <th>horsepower</th>\n",
       "      <th>peak-rpm</th>\n",
       "      <th>city-mpg</th>\n",
       "      <th>highway-mpg</th>\n",
       "      <th>price</th>\n",
       "      <th>city-L/100km</th>\n",
       "      <th>horsepower-binned</th>\n",
       "      <th>diesel</th>\n",
       "      <th>gas</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>122</td>\n",
       "      <td>alfa-romero</td>\n",
       "      <td>std</td>\n",
       "      <td>two</td>\n",
       "      <td>convertible</td>\n",
       "      <td>rwd</td>\n",
       "      <td>front</td>\n",
       "      <td>88.6</td>\n",
       "      <td>0.811148</td>\n",
       "      <td>...</td>\n",
       "      <td>9.0</td>\n",
       "      <td>111.0</td>\n",
       "      <td>5000.0</td>\n",
       "      <td>21</td>\n",
       "      <td>27</td>\n",
       "      <td>13495.0</td>\n",
       "      <td>11.190476</td>\n",
       "      <td>Medium</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>122</td>\n",
       "      <td>alfa-romero</td>\n",
       "      <td>std</td>\n",
       "      <td>two</td>\n",
       "      <td>convertible</td>\n",
       "      <td>rwd</td>\n",
       "      <td>front</td>\n",
       "      <td>88.6</td>\n",
       "      <td>0.811148</td>\n",
       "      <td>...</td>\n",
       "      <td>9.0</td>\n",
       "      <td>111.0</td>\n",
       "      <td>5000.0</td>\n",
       "      <td>21</td>\n",
       "      <td>27</td>\n",
       "      <td>16500.0</td>\n",
       "      <td>11.190476</td>\n",
       "      <td>Medium</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>122</td>\n",
       "      <td>alfa-romero</td>\n",
       "      <td>std</td>\n",
       "      <td>two</td>\n",
       "      <td>hatchback</td>\n",
       "      <td>rwd</td>\n",
       "      <td>front</td>\n",
       "      <td>94.5</td>\n",
       "      <td>0.822681</td>\n",
       "      <td>...</td>\n",
       "      <td>9.0</td>\n",
       "      <td>154.0</td>\n",
       "      <td>5000.0</td>\n",
       "      <td>19</td>\n",
       "      <td>26</td>\n",
       "      <td>16500.0</td>\n",
       "      <td>12.368421</td>\n",
       "      <td>Medium</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>164</td>\n",
       "      <td>audi</td>\n",
       "      <td>std</td>\n",
       "      <td>four</td>\n",
       "      <td>sedan</td>\n",
       "      <td>fwd</td>\n",
       "      <td>front</td>\n",
       "      <td>99.8</td>\n",
       "      <td>0.848630</td>\n",
       "      <td>...</td>\n",
       "      <td>10.0</td>\n",
       "      <td>102.0</td>\n",
       "      <td>5500.0</td>\n",
       "      <td>24</td>\n",
       "      <td>30</td>\n",
       "      <td>13950.0</td>\n",
       "      <td>9.791667</td>\n",
       "      <td>Medium</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>164</td>\n",
       "      <td>audi</td>\n",
       "      <td>std</td>\n",
       "      <td>four</td>\n",
       "      <td>sedan</td>\n",
       "      <td>4wd</td>\n",
       "      <td>front</td>\n",
       "      <td>99.4</td>\n",
       "      <td>0.848630</td>\n",
       "      <td>...</td>\n",
       "      <td>8.0</td>\n",
       "      <td>115.0</td>\n",
       "      <td>5500.0</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>17450.0</td>\n",
       "      <td>13.055556</td>\n",
       "      <td>Medium</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 29 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   symboling  normalized-losses         make aspiration num-of-doors  \\\n",
       "0          3                122  alfa-romero        std          two   \n",
       "1          3                122  alfa-romero        std          two   \n",
       "2          1                122  alfa-romero        std          two   \n",
       "3          2                164         audi        std         four   \n",
       "4          2                164         audi        std         four   \n",
       "\n",
       "    body-style drive-wheels engine-location  wheel-base    length  ...  \\\n",
       "0  convertible          rwd           front        88.6  0.811148  ...   \n",
       "1  convertible          rwd           front        88.6  0.811148  ...   \n",
       "2    hatchback          rwd           front        94.5  0.822681  ...   \n",
       "3        sedan          fwd           front        99.8  0.848630  ...   \n",
       "4        sedan          4wd           front        99.4  0.848630  ...   \n",
       "\n",
       "   compression-ratio  horsepower  peak-rpm city-mpg highway-mpg    price  \\\n",
       "0                9.0       111.0    5000.0       21          27  13495.0   \n",
       "1                9.0       111.0    5000.0       21          27  16500.0   \n",
       "2                9.0       154.0    5000.0       19          26  16500.0   \n",
       "3               10.0       102.0    5500.0       24          30  13950.0   \n",
       "4                8.0       115.0    5500.0       18          22  17450.0   \n",
       "\n",
       "  city-L/100km  horsepower-binned  diesel  gas  \n",
       "0    11.190476             Medium       0    1  \n",
       "1    11.190476             Medium       0    1  \n",
       "2    12.368421             Medium       0    1  \n",
       "3     9.791667             Medium       0    1  \n",
       "4    13.055556             Medium       0    1  \n",
       "\n",
       "[5 rows x 29 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# path of data \n",
    "path = 'https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/automobileEDA.csv'\n",
    "df = pd.read_csv(path)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>1. Linear Regression and Multiple Linear Regression</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>Linear Regression</h4>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "<p>One example of a Data  Model that we will be using is</p>\n",
    "<b>Simple Linear Regression</b>.\n",
    "\n",
    "<br>\n",
    "<p>Simple Linear Regression is a method to help us understand the relationship between two variables:</p>\n",
    "<ul>\n",
    "    <li>The predictor/independent variable (X)</li>\n",
    "    <li>The response/dependent variable (that we want to predict)(Y)</li>\n",
    "</ul>\n",
    "\n",
    "<p>The result of Linear Regression is a <b>linear function</b> that predicts the response (dependent) variable as a function of the predictor (independent) variable.</p>\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    " Y: Response \\ Variable\\\\\n",
    " X: Predictor \\ Variables\n",
    "$$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " <b>Linear function:</b>\n",
    "$$\n",
    "Yhat = a + b  X\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<ul>\n",
    "    <li>a refers to the <b>intercept</b> of the regression line0, in other words: the value of Y when X is 0</li>\n",
    "    <li>b refers to the <b>slope</b> of the regression line, in other words: the value with which Y changes when X increases by 1 unit</li>\n",
    "</ul>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>Lets load the modules for linear regression</h4>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LinearRegression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>Create the linear regression object</h4>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm = LinearRegression()\n",
    "lm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>How could Highway-mpg help us predict car price?</h4>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this example, we want to look at how highway-mpg can help us predict car price.\n",
    "Using simple linear regression, we will create a linear function with \"highway-mpg\" as the predictor variable and the \"price\" as the response variable."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.series.Series'>\n",
      "<class 'pandas.core.frame.DataFrame'>\n"
     ]
    }
   ],
   "source": [
    "df['highway-mpg']\n",
    "print(type(df['highway-mpg']))\n",
    "print(type(df[['highway-mpg']]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(     highway-mpg\n",
       " 0             27\n",
       " 1             27\n",
       " 2             26\n",
       " 3             30\n",
       " 4             22\n",
       " ..           ...\n",
       " 196           28\n",
       " 197           25\n",
       " 198           23\n",
       " 199           27\n",
       " 200           25\n",
       " \n",
       " [201 rows x 1 columns], 0      13495.0\n",
       " 1      16500.0\n",
       " 2      16500.0\n",
       " 3      13950.0\n",
       " 4      17450.0\n",
       "         ...   \n",
       " 196    16845.0\n",
       " 197    19045.0\n",
       " 198    21485.0\n",
       " 199    22470.0\n",
       " 200    22625.0\n",
       " Name: price, Length: 201, dtype: float64)"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = df[['highway-mpg']]\n",
    "Y = df['price']\n",
    "X, Y"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Fit the linear model using highway-mpg."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001b[0;31mSignature:\u001b[0m \u001b[0mlm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msample_weight\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mDocstring:\u001b[0m\n",
       "Fit linear model.\n",
       "\n",
       "Parameters\n",
       "----------\n",
       "X : array-like or sparse matrix, shape (n_samples, n_features)\n",
       "    Training data\n",
       "\n",
       "y : array_like, shape (n_samples, n_targets)\n",
       "    Target values. Will be cast to X's dtype if necessary\n",
       "\n",
       "sample_weight : numpy array of shape [n_samples]\n",
       "    Individual weights for each sample\n",
       "\n",
       "    .. versionadded:: 0.17\n",
       "       parameter *sample_weight* support to LinearRegression.\n",
       "\n",
       "Returns\n",
       "-------\n",
       "self : returns an instance of self.\n",
       "\u001b[0;31mFile:\u001b[0m      ~/conda/envs/python/lib/python3.6/site-packages/sklearn/linear_model/base.py\n",
       "\u001b[0;31mType:\u001b[0m      method\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lm.fit?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm.fit(X,Y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " We can output a prediction "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([16236.50464347, 16236.50464347, 17058.23802179, 13771.3045085 ,\n",
       "       20345.17153508])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Yhat=lm.predict(X)\n",
    "Yhat[0:5]   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>What is the value of the intercept (a)?</h4>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "38423.305858157386"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm.intercept_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>What is the value of the Slope (b)?</h4>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-821.73337832])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm.coef_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>What is the final estimated linear model we get?</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we saw above, we should get a final linear model with the structure:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "Yhat = a + b  X\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plugging in the actual values we get:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<b>price</b> = 38423.31 - 821.73 x  <b>highway-mpg</b>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1>Question #1 a): </h1>\n",
    "\n",
    "<b>Create a linear regression object?</b>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "lm1 = LinearRegression()\n",
    "lm1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "lm1 = LinearRegression()\n",
    "lm1 \n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1> Question #1 b): </h1>\n",
    "\n",
    "<b>Train the model using 'engine-size' as the independent variable and 'price' as the dependent variable?</b>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "lm1.fit(df[['highway-mpg']], df[['price']])\n",
    "lm1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "lm1.fit(df[['highway-mpg']], df[['price']])\n",
    "lm1\n",
    "\n",
    "-->\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1>Question #1 c):</h1>\n",
    "\n",
    "<b>Find the slope and intercept of the model?</b>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>Slope</h4>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-821.73337832]])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "lm1.coef_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>Intercept</h4>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([38423.30585816])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "lm1.intercept_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "# Slope \n",
    "lm1.coef_\n",
    "# Intercept\n",
    "lm1.intercept_\n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1>Question #1 d): </h1>\n",
    "\n",
    "<b>What is the equation of the predicted line. You can use x and yhat or 'engine-size' or 'price'?</b>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# You can type you answer here\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "# using X and Y  \n",
    "Yhat=-7963.34 + 166.86*X\n",
    "\n",
    "Price=-7963.34 + 166.86*engine-size\n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h4>Multiple Linear Regression</h4>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>What if we want to predict car price using more than one variable?</p>\n",
    "\n",
    "<p>If we want to use more variables in our model to predict car price, we can use <b>Multiple Linear Regression</b>.\n",
    "Multiple Linear Regression is very similar to Simple Linear Regression, but this method is used to explain the relationship between one continuous response (dependent) variable and <b>two or more</b> predictor (independent) variables.\n",
    "Most of the real-world regression models involve multiple predictors. We will illustrate the structure by using four predictor variables, but these results can generalize to any integer:</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "Y: Response \\ Variable\\\\\n",
    "X_1 :Predictor\\ Variable \\ 1\\\\\n",
    "X_2: Predictor\\ Variable \\ 2\\\\\n",
    "X_3: Predictor\\ Variable \\ 3\\\\\n",
    "X_4: Predictor\\ Variable \\ 4\\\\\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "a: intercept\\\\\n",
    "b_1 :coefficients \\ of\\ Variable \\ 1\\\\\n",
    "b_2: coefficients \\ of\\ Variable \\ 2\\\\\n",
    "b_3: coefficients \\ of\\ Variable \\ 3\\\\\n",
    "b_4: coefficients \\ of\\ Variable \\ 4\\\\\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The equation is given by"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "Yhat = a + b_1 X_1 + b_2 X_2 + b_3 X_3 + b_4 X_4\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>From the previous section  we know that other good predictors of price could be:</p>\n",
    "<ul>\n",
    "    <li>Horsepower</li>\n",
    "    <li>Curb-weight</li>\n",
    "    <li>Engine-size</li>\n",
    "    <li>Highway-mpg</li>\n",
    "</ul>\n",
    "Let's develop a model using these variables as the predictor variables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "Z = df[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Fit the linear model using the four above-mentioned variables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>horsepower</th>\n",
       "      <th>curb-weight</th>\n",
       "      <th>engine-size</th>\n",
       "      <th>highway-mpg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>111.0</td>\n",
       "      <td>2548</td>\n",
       "      <td>130</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>111.0</td>\n",
       "      <td>2548</td>\n",
       "      <td>130</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>154.0</td>\n",
       "      <td>2823</td>\n",
       "      <td>152</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>102.0</td>\n",
       "      <td>2337</td>\n",
       "      <td>109</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>115.0</td>\n",
       "      <td>2824</td>\n",
       "      <td>136</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>196</td>\n",
       "      <td>114.0</td>\n",
       "      <td>2952</td>\n",
       "      <td>141</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>197</td>\n",
       "      <td>160.0</td>\n",
       "      <td>3049</td>\n",
       "      <td>141</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>198</td>\n",
       "      <td>134.0</td>\n",
       "      <td>3012</td>\n",
       "      <td>173</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>199</td>\n",
       "      <td>106.0</td>\n",
       "      <td>3217</td>\n",
       "      <td>145</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>200</td>\n",
       "      <td>114.0</td>\n",
       "      <td>3062</td>\n",
       "      <td>141</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>201 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     horsepower  curb-weight  engine-size  highway-mpg\n",
       "0         111.0         2548          130           27\n",
       "1         111.0         2548          130           27\n",
       "2         154.0         2823          152           26\n",
       "3         102.0         2337          109           30\n",
       "4         115.0         2824          136           22\n",
       "..          ...          ...          ...          ...\n",
       "196       114.0         2952          141           28\n",
       "197       160.0         3049          141           25\n",
       "198       134.0         3012          173           23\n",
       "199       106.0         3217          145           27\n",
       "200       114.0         3062          141           25\n",
       "\n",
       "[201 rows x 4 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm.fit(Z, df['price'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "What is the value of the intercept(a)?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-15806.624626329198"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm.intercept_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "What are the values of the coefficients (b1, b2, b3, b4)?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([53.49574423,  4.70770099, 81.53026382, 36.05748882])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm.coef_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " What is the final estimated linear model that we get?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we saw above, we should get a final linear function with the structure:\n",
    "\n",
    "$$\n",
    "Yhat = a + b_1 X_1 + b_2 X_2 + b_3 X_3 + b_4 X_4\n",
    "$$\n",
    "\n",
    "What is the linear function we get in this example?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "Yhat = a + b_1 X_1 + b_2 X_2 + b_3 X_3 + b_4 X_4\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1> Question  #2 a): </h1>\n",
    "Create and train a Multiple Linear Regression model \"lm2\" where the response variable is price, and the predictor variable is 'normalized-losses' and  'highway-mpg'.\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "lm2 = LinearRegression()\n",
    "lm2.fit(df[['normalized-losses' , 'highway-mpg']],df['price'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "lm2 = LinearRegression()\n",
    "lm2.fit(df[['normalized-losses' , 'highway-mpg']],df['price'])\n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1>Question  #2 b): </h1>\n",
    "<b>Find the coefficient of the model?</b>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([   1.49789586, -820.45434016])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "lm2.coef_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "lm2.coef_\n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>2)  Model Evaluation using Visualization</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now that we've developed some models, how do we evaluate our models and how do we choose the best one? One way to do this is by using visualization."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "import the visualization package: seaborn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# import the visualization package: seaborn\n",
    "import seaborn as sns\n",
    "%matplotlib inline "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Regression Plot</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>When it comes to simple linear regression, an excellent way to visualize the fit of our model is by using <b>regression plots</b>.</p>\n",
    "\n",
    "<p>This plot will show a combination of a scattered data points (a <b>scatter plot</b>), as well as the fitted <b>linear regression</b> line going through the data. This will give us a reasonable estimate of the relationship between the two variables, the strength of the correlation, as well as the direction (positive or negative correlation).</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Let's visualize Horsepower as potential predictor variable of price:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(0, 48279.6028348725)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "width = 12\n",
    "height = 10\n",
    "plt.figure(figsize=(width, height))\n",
    "sns.regplot(x=\"highway-mpg\", y=\"price\", data=df)\n",
    "plt.ylim(0,)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>We can see from this plot that price is negatively correlated to highway-mpg, since the regression slope is negative.\n",
    "One thing to keep in mind when looking at a regression plot is to pay attention to how scattered the data points are around the regression line. This will give you a good indication of the variance of the data, and whether a linear model would be the best fit or not. If the data is too far off from the line, this linear model might not be the best model for this data. Let's compare this plot to the regression plot of \"peak-rpm\".</p>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 47422.919330307624)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(width, height))\n",
    "sns.regplot(x=\"peak-rpm\", y=\"price\", data=df)\n",
    "plt.ylim(0,)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>Comparing the regression plot of \"peak-rpm\" and \"highway-mpg\" we see that the points for \"highway-mpg\" are much closer to the generated line and on the average decrease. The points for \"peak-rpm\" have more spread around the predicted line, and it is much harder to determine if the points are decreasing or increasing as the \"highway-mpg\" increases.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1>Question #3:</h1>\n",
    "<b>Given the regression plots above is \"peak-rpm\" or \"highway-mpg\" more strongly correlated with \"price\". Use the method  \".corr()\" to verify your answer.</b>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>peak-rpm</th>\n",
       "      <th>highway-mpg</th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>peak-rpm</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.058598</td>\n",
       "      <td>-0.101616</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>highway-mpg</td>\n",
       "      <td>-0.058598</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.704692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>price</td>\n",
       "      <td>-0.101616</td>\n",
       "      <td>-0.704692</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             peak-rpm  highway-mpg     price\n",
       "peak-rpm     1.000000    -0.058598 -0.101616\n",
       "highway-mpg -0.058598     1.000000 -0.704692\n",
       "price       -0.101616    -0.704692  1.000000"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "df[[\"peak-rpm\",\"highway-mpg\",\"price\"]].corr()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "The variable \"highway-mpg\" has a stronger correlation with \"price\", it is approximate -0.704692  compared to   \"peak-rpm\" which is approximate     -0.101616. You can verify it using the following command:\n",
    "df[[\"peak-rpm\",\"highway-mpg\",\"price\"]].corr()\n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Residual Plot</h3>\n",
    "\n",
    "<p>A good way to visualize the variance of the data is to use a residual plot.</p>\n",
    "\n",
    "<p>What is a <b>residual</b>?</p>\n",
    "\n",
    "<p>The difference between the observed value (y) and the predicted value (Yhat) is called the residual (e). When we look at a regression plot, the residual is the distance from the data point to the fitted regression line.</p>\n",
    "\n",
    "<p>So what is a <b>residual plot</b>?</p>\n",
    "\n",
    "<p>A residual plot is a graph that shows the residuals on the vertical y-axis and the independent variable on the horizontal x-axis.</p>\n",
    "\n",
    "<p>What do we pay attention to when looking at a residual plot?</p>\n",
    "\n",
    "<p>We look at the spread of the residuals:</p>\n",
    "\n",
    "<p>- If the points in a residual plot are <b>randomly spread out around the x-axis</b>, then a <b>linear model is appropriate</b> for the data. Why is that? Randomly spread out residuals means that the variance is constant, and thus the linear model is a good fit for this data.</p>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "width = 12\n",
    "height = 10\n",
    "plt.figure(figsize=(width, height))\n",
    "sns.residplot(df['highway-mpg'], df['price'])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<i>What is this plot telling us?</i>\n",
    "\n",
    "<p>We can see from this residual plot that the residuals are not randomly spread around the x-axis, which leads us to believe that maybe a non-linear model is more appropriate for this data.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Multiple Linear Regression</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>How do we visualize a model for Multiple Linear Regression? This gets a bit more complicated because you can't visualize it with regression or residual plot.</p>\n",
    "\n",
    "<p>One way to look at the fit of the model is by looking at the <b>distribution plot</b>: We can look at the distribution of the fitted values that result from the model and compare it to the distribution of the actual values.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First lets make a prediction "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "Y_hat = lm.predict(Z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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paioqCI/qog0PaOIiIhIurv5Zli8uGrPmZ0NDzwQdZeZM2cyfPhwTj31VJo3b86iRYvo168f//73v5k5cybz58+nQYMG7Ny5k+bNm/OXv/yF++67j5ycnKjnPe2005g3bx4ZGRm8+eab3Hnnnbzwwgul7j98+HC+973vsWPHDlq0aMHUqVO54YYbKnSucMuXL+e5557j/fffJzMzk+uuu47JkyczYcKEmI4vi4K6iIiIiMTFlClTuPnmmwEYN24cU6ZMoV+/frz55ptcddVVNGjQAIDmzZuX67yFhYVMnDiRvLw8zIzDhw9H3b9OnTqMGjWK6dOnM3bsWBYvXsywYcMqdK5wc+bMYeHChfTv3x+A/fv306pVq3K9l2gU1EVERETSXRkj3/GwY8cO3nrrLT777DPMjKKiIsyMe++9F+dcTNMVZmRkUFxcDHDMHOQ///nPGTx4MDNmzGDdunVHW2KiGT9+PL/97W9xzjF69OijTwiN5VzhdYTX4pxj4sSJ3H333WVevyLUoy4iIiIiVW769OlMmDCB9evXs27dOjZu3EinTp147733GDZsGI8//jj79u0DYOfOnQA0btyY3bt3Hz1Hx44dWbhwIcAx7SiFhYWcdNJJgL8BNRaDBw8mLy+Phx56iPHjx5frXB07dmTRokUALFq0iLVr1wIwdOhQpk+fzrZt246+j/Xr18dUTywU1EVERESkyk2ZMoWLLrromHVjx47l2WefZfjw4YwaNYqcnByys7OP3qj53e9+l0mTJh29mfSXv/wlN910E+eccw61a9c+ep6f/vSn3HHHHZx99tkx37xZq1Ytxo4dy44dOzj33HPLda6xY8eyc+dOsrOzeeSRRzj11FMB6NGjB7/97W8ZNmwYvXv35vzzzyc/P79cP6dozDlXZSdLJzk5OS43NzfRZYiIiIhUyPLly+nevXuiy5AwkX4nZrbQORfx7lmNqIuIiIiIJCEFdRERERGRJKSgLiIiIiKShBTURURERESSkIK6iIiIiEgSUlAXEREREUlCcQ3qZjbczFaa2Sozuz3CdjOzB4PtS8ysX1nHmllzM3vDzPKCZbOwbXcE+680swvC1o83s0+Da7xqZifG832LpJTcXLjlFggeNiEiIlJVateuTXZ29tHXunXryM3N5cYbbwRg7ty5fPDBB0f3nzlzJsuWLSv3dRo1anTcukGDBvHaa68ds+6BBx7guuuuK/e5EiVuQd3MagMPASOAHsB4M+tRYrcRQNfgdQ3wSAzH3g7Mcc51BeYE3xNsHwf0BIYDD5tZbTPLAP4MDHbO9QaWANfH5U2LpJpVq2D4cLj/fujbFxYsSHRFIiKSRurXr8/ixYuPvjp27EhOTg4PPvggUHVBPZLx48czderUY9ZNnTr1mKeSJrt4jqgPAFY559Y45w4BU4HRJfYZDTztvA+BpmbWtoxjRwNPBV8/BYwJWz/VOXfQObcWWBWcx4JXQzMzoAmwJQ7vVyS17NwJ3/oWOAfPPQe1asHAgfB//+fXiYiIxMHcuXMZOXIk69at49FHH+X+++8nOzubd955h9mzZ3PrrbeSnZ3N6tWrWb16NcOHD+f000/nnHPOYcWKFQCsXbuWM888k/79+/Pzn/884nUuueQSXnrpJQ4ePAjAunXr2LJlCwMHDmTPnj0MHTqUfv360atXL2bNmlVqnSHXX389Tz75JAALFy7kvPPO4/TTT+eCCy44+jTSBx98kB49etC7d2/GjRtX6Z9VRqXPULqTgI1h328Cvh7DPieVcWxr51w+gHMu38xahZ3rw5Lncs79x8x+AHwK7AXygB9GKtjMrsGP7HPyySfH8BZFUtShQ3DxxbBuHbz5JpxzDpx/PkycCDfeCPPmwRNPQBL9+U9ERCru5pth8eKqPWd2NjzwQPR99u/fT3Z2NgCdOnVixowZR7d17NiRSZMm0ahRI37yk58AMGrUKEaOHMkll1wCwNChQ3n00Ufp2rUr8+fP57rrruOtt97ipptu4gc/+AETJkzgoYceinjtFi1aMGDAAF599VVGjx7N1KlTueyyyzAz6tWrx4wZM2jSpAlffPEFZ5xxBqNGjcKP6UZ3+PBhbrjhBmbNmkXLli157rnnuOuuu3j88ce55557WLt2LXXr1mXXrl2x/BijimdQj/ROSw7TlbZPLMfGdD0zywR+APQF1gD/B9wB/Pa4nZ17DHgMICcnR0OKkp6cg+9/H955ByZP9iEdoFkzmDUL7rsPbrsNunWD3x73r4mIiEjMQq0vFbFnzx4++OADvv3tbx9dFxodf//993nhhRcAuPLKK7ntttsiniPU/hIK6o8//jgAzjnuvPNO5s2bR61atdi8eTNbt26lTZs2Zda1cuVKPvvsM84//3wAioqKaNu2LQC9e/fmiiuuYMyYMYwZMybaaWISz6C+CWgf9n07jm85KW2fOlGO3WpmbYPR9LbAtjLOlQ3gnFsNYGbTCPraRWqke+6Bp5+GX/8aLr/82G1mcOut8O678Pe/wy9/CZmZialTRESqTFkj38mouLiYpk2blhr0Yxn9HjNmDLfccguLFi1i//799Ovn5y2ZPHky27dvZ+HChWRmZtKxY0cOHDhwzLEZGRkUFxcf/T603TlHz549+c9//nPc9V5++WXmzZvH7Nmz+c1vfsPSpUvJyKh43I5nj/pHQFcz62RmdfA3es4usc9sYEIw+8sZQGHQ1hLt2NnAxODricCssPXjzKyumXXC36C6ANgM9DCzlsF+5wPLq/rNiqSEgwfh7rthzBj42c9K32/SJNi61Y+wi4iIxEnjxo3ZvXt3xO+bNGlCp06deP755wEfkD/55BMAzj777KM3ik6ePLnU8zdq1IhBgwZx9dVXH3MTaWFhIa1atSIzM5O3336b9evXH3dshw4dWLZsGQcPHqSwsJA5c+YA0K1bN7Zv3340qB8+fJilS5dSXFzMxo0bGTx4MPfeey+7du1iz549lfnxxC+oO+eO4GdXeQ0fjKc555aa2SQzmxTs9gq+HWUV8DfgumjHBsfcA5xvZnn40H1PcMxSYBqwDHgV+KFzrsg5twX4f8A8M1uCH2H/fbzet0hSmzsXdu/2rS/RRiIuuAA6dIBHH6220kREpOa58MILmTFjBtnZ2bz77ruMGzeOP/zhD/Tt25fVq1czefJk/vGPf9CnTx969ux59KbPP//5zzz00EP079+fwsLCqNcYP348n3zyyTE3d15xxRXk5uaSk5PD5MmTOe200447rn379lx66aVH21n69u0LQJ06dZg+fTq33XYbffr0ITs7mw8++ICioiK+853v0KtXL/r27cuPfvQjmjZtWqmfjznN7hBRTk6Oy83NTXQZIlVr0iTfl759O9SrF33f3/8e7roLVq6EU0+tnvpERKTKLF++nO7duye6DAkT6XdiZgudczmR9teTSUVqiuJi38oyYkTZIR3g6qshIwMeeyz+tYmIiMhxFNRFaooFC6CgwPenx6JNG7joIj9NY4kbbERERCT+FNRFaoqZM/0I+Te/Gfsxkyb5ByNNnx6/ukREJG7U4pw8KvK7UFAXqSlmzoTBg6E8N7YMHuz703VT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\n",
      "text/plain": [
       "<Figure size 864x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(width, height))\n",
    "\n",
    "\n",
    "ax1 = sns.distplot(df['price'], hist=False, color=\"r\", label=\"Actual Value\")\n",
    "sns.distplot(Y_hat, hist=False, color=\"b\", label=\"Fitted Values\" , ax=ax1)\n",
    "\n",
    "\n",
    "plt.title('Actual vs Fitted Values for Price')\n",
    "plt.xlabel('Price (in dollars)')\n",
    "plt.ylabel('Proportion of Cars')\n",
    "\n",
    "plt.show()\n",
    "plt.close()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>We can see that the fitted values are reasonably close to the actual values, since the two distributions overlap a bit. However, there is definitely some room for improvement.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Part 3: Polynomial Regression and Pipelines</h2>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p><b>Polynomial regression</b> is a particular case of the general linear regression model or multiple linear regression models.</p> \n",
    "<p>We get non-linear relationships by squaring or setting higher-order terms of the predictor variables.</p>\n",
    "\n",
    "<p>There are different orders of polynomial regression:</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<center><b>Quadratic - 2nd order</b></center>\n",
    "$$\n",
    "Yhat = a + b_1 X^2 +b_2 X^2 \n",
    "$$\n",
    "\n",
    "\n",
    "<center><b>Cubic - 3rd order</b></center>\n",
    "$$\n",
    "Yhat = a + b_1 X^2 +b_2 X^2 +b_3 X^3\\\\\n",
    "$$\n",
    "\n",
    "\n",
    "<center><b>Higher order</b>:</center>\n",
    "$$\n",
    "Y = a + b_1 X^2 +b_2 X^2 +b_3 X^3 ....\\\\\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>We saw earlier that a linear model did not provide the best fit while using highway-mpg as the predictor variable. Let's see if we can try fitting a polynomial model to the data instead.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>We will use the following function to plot the data:</p>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "def PlotPolly(model, independent_variable, dependent_variabble, Name):\n",
    "    x_new = np.linspace(15, 55, 100)\n",
    "    y_new = model(x_new)\n",
    "\n",
    "    plt.plot(independent_variable, dependent_variabble, '.', x_new, y_new, '-')\n",
    "    plt.title('Polynomial Fit with Matplotlib for Price ~ Length')\n",
    "    ax = plt.gca()\n",
    "    ax.set_facecolor((0.898, 0.898, 0.898))\n",
    "    fig = plt.gcf()\n",
    "    plt.xlabel(Name)\n",
    "    plt.ylabel('Price of Cars')\n",
    "\n",
    "    plt.show()\n",
    "    plt.close()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "lets get the variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "x = df['highway-mpg']\n",
    "y = df['price']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's fit the polynomial using the function <b>polyfit</b>, then use the function <b>poly1d</b> to display the polynomial function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        3         2\n",
      "-1.557 x + 204.8 x - 8965 x + 1.379e+05\n"
     ]
    }
   ],
   "source": [
    "# Here we use a polynomial of the 3rd order (cubic) \n",
    "f = np.polyfit(x, y, 3)\n",
    "p = np.poly1d(f)\n",
    "print(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Let's plot the function "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "PlotPolly(p, x, y, 'highway-mpg')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-1.55663829e+00,  2.04754306e+02, -8.96543312e+03,  1.37923594e+05])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.polyfit(x, y, 3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>We can already see from plotting that this polynomial model performs better than the linear model. This is because the generated polynomial function  \"hits\" more of the data points.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1>Question  #4:</h1>\n",
    "<b>Create 11 order polynomial model with the variables x and y from above?</b>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        3         2\n",
      "-1.557 x + 204.8 x - 8965 x + 1.379e+05\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAEWCAYAAABfdFHAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeXxU1fn48c+TyR6ygxASEBRQEUQEkWpV3PFbK2i10mqxrf1RrVa7t/ar1db6rdrWra22traida1WpSoqrVtFlEVUNpUICGFfkpCNJDPz/P64JzAZJpOQZJYkz/v1mlfmnnvPnTN3JveZs9xzRVUxxhhjYiUl0QUwxhjTu1mgMcYYE1MWaIwxxsSUBRpjjDExZYHGGGNMTFmgMcYYE1MWaHoAEblRRP6e6HKEEpGLReTlDm7bqfKLyE9F5C8HXrp29/tHEbk+yvqkO96RiMg6ETm9k3n3vkcRGSoitSLic8uvicg3DmBfV4jIVreP4s6UpytEZK6IXBrv101mB/oZxpoFmjhyJ4YG9w+5VUT+JiL9El2uzlDVh1X1zK7uR0SmiEjQHZOWx7/ca/yfqn7DbTdMRFREUruh7Jer6k0hr1/Rxfeg7vNMDUlLFZFtItKhC9W6oxyd3beqrlfVfqoa6MS+04DbgTPdPnZ2paxunwf0f6KqZ6vq7K6+bndIxAm+J/wwskATf59X1X7AMcCxwHUJLk8y2OROUi2Pzye6QJ1QBZwdsvw/QGWCyhJPA4FMYMWBZhRPW+egdv9P2slvkoh9SAmiqhuBucAYABEZLCJzRGSXiJSLyP+LlE9EnheRb4elfSAi091zFZHLRWS1iFSKyB9ERNy6FBG5TkQ+db+2HxSRfLeupcbwNRHZ4PJeLiLHuv1XicjvQ17zqyLyZsjyXS7fbhFZIiIndvUYhf1Se8P9rXK/dD8Ttm2m+xXc3y1fJyJ+Eclzy78UkTvd8wfccg7eZzA4pDY12O0y3R2fGhFZISIT2ynuQ8DMkOWZwINhZfyaiKxy+1wjIt906RHL4d7/kyLyuMvzroiMa+NYZYjInSKyyT3udGnR3mNL3ki1xUNFZKGIVIvIsyJSFOE1RwEfucUqEXnFpR8vIotc3kUicnxIntdE5GYRmQ/UA4dEO6gR/k/2yx9eixCR/xdynFeKyDEufbCIPCUi20VkrYhcHe21u5uITBaRt9z/0vsiMiVk3WsicpOIzHflfrnlu+zWz3T/tztF5HpxzaYiMhX4KXCR+2zfD3nJg9vaX7xZoEkQERmC96t3qUt6FKgABgMXAP8nIqdFyDobuCRkP+OAUuCFkG3OwfsVOA74InCWS/+qe5yC9w/eD/g9rR0HjAQuAu4E/hc4HTgS+KKInNzGW1oEHA0UAY8A/xCRzDa27YyT3N8CV+tZELpSVfe4Mpwcsv2nwAkhy6+H5anDq4WE1qg2udXnAo8BBcAc9j9O4Z4BThKRAhEpAE4Eng3bZhveZ5MHfA24Q0SOaacc04B/sO+4PiNec1W4/wUm430G44BJwHXt7DuamcDX8b6PfuDu8A1U9WO87wV4n8upLiA977YvxmtWe15a9918BZgF5OJ9Rm2K8H8SNb+IXAjc6Mqfh/c57hSv5vMv4H28/5fTgO+IyFkcIBHvh9sB5inFOy6/xPssfwA8JSIDQjb7Mt734iAg3W2DiIwG7gEuBkqAfPceUNUXgf8DHnef7bj29pcIFmji7xkRqQLexDvx/Z/7Z/os8GNV3aOq7wF/wfuHCvcsMFJERrrlr+B9yZpCtrlFVatUdT3wKt7JB7wv6u2qukZVa4FrgRlhv2RvcmV4GagDHlXVbe6X5X+B8ZHelKr+XVV3qqpfVX8LZACHdfCYDHa/8loeX+xgvnCvAye793MU3snuZBfwjnXl76g3VfUF12/xEN7JO5o9eCeyi4AZeMFpT+gGqvq8qn6inteBl/ECUjRLVPVJVW3GO2ln4gWUcBcDv3Cf1Xbg50T+/nTUQ6q63AWq6/F+ZPg6kO9zwGpVfch9Fx4FPgRCm0MfUNUVbn1zG/vZ7/+kg/m/AdymqovccS5X1U/xPv8BqvoLVW1S1TXAn/E+q/2ISKmIPOZqh0tF5DsubRzej4oDdQnwgvtOBVV1HrAYL4i2+JuqfqyqDcAT7Pu/vQD4l6q+6f7PfwZ0pO+vrf3FXZc7Vs0Bm66q/w5NcE0Zu1S1JiT5U2C/5hpVbRSRJ4BLROTnwJfwvoihtoQ8r8eruYD36zT0F+CneN+BgSFpW0OeN0RYjtgpKyLfx/snH4z3T5AHdLSqvklVyzq4bTSv452MjwGWAfOA+/FOzOWquuMA9hV+DDNFJFVV/VHyPAj8ChDgx+ErReRs4AZgFN6PvGxXzmg2tDxR1aB4nfqDI2wX6bONtF1HbQh5/imQhvd5bo28eZvlaMlf2sa+27Lf/0kH8w8BPomQfjDuB01Imo+2f3xciFeTvBjvBH0lXhPVRrzP+EAdDFwoIqEBNw3vh2CLaP+3od+DehHpyKCLtvYXdxZoksMmoEhEckOCzVC8L3Uks/F+Zb8J1Ic3I7XzOgeHLA/FaxbZCnT6RC9ef8yP8ZojVrgTYiXeCbe7dOQX3Ft4tajzgNdVdaWIDMX7lf16G3m6c/ry/+I1bSjeZ3NoywoRyQCewmvSeVZVm0XkGfYdo7bKMSRkHyl4n1Okpq+Wz7alU35oyHadeY9DQp4PBZqBjgTq8O9YS/4XQ5a7esyj5d9AyHEPS1+rqiMjrIvkblUNuudL8JoRu2IDXi0xYt9rOzYT0jogIll4zZItkn4Kfms6SwKqugHvJPkr8Tq1jwIuAx5uY/sFQBD4LV7A6ahHge+KyHDxhou2tO1G+5XeEbl4AWs7kCoiP8Or0XSn7Xjvuc3OY1WtxzspXMm+wPIW8E3aDjRbgWJxgyK6Qr17bnweOFf3v/9GOl5z4nbA72o3ocPD2yrHBBE53zUHfgdoBN6O8PKPAteJyADX6fszoGUgRWfe4yUiMlpEsoFfAE92cPjzC8AoEfmyeEO8LwJGA88dwGt3xV+AH4jIBPGMEJGDgYXAbhH5sYhkiYhPRMaIyLGRdhISZDoj1f0ftzzS8D6Lz4vIWe61M8Ubdt6RH3hPurzHi0g6XrNo6I+4rcAwSeIReElbsD7oS8AwvF+ETwM3uHbctjwIjGXfyaQj/ooXmN4A1uL1IXw7ao6OeQlvZNDHeM0ke+hY80iHuSByMzDf9eNE6qcAL6Ck4Z1YWpZz2TdqLXy/H+KdpNe4/XaluQnXd7DfUF9XU70ar628Eq+jdk4HyvEsXr9PJV6fy/lt9Gv8Eq/N/wO85rh3XVpn3+NDwAN4zS+ZruztUu86mnOA7wM7gR8B5xxgs2Wnqeo/8L4njwA1eP0pRS5Ifh6vGWwtXu3sL3gd693tXrxm5pbH39yPyWl4zW/b8f4/fkgHzsHu+/RtvMEpm/He1za8Hx3gNfGBN+jh3e57G91H9v/hZXoCEZkJzFLVzya6LCY2RORGYISqXtLetqbvcK0RVcBIVV2b6PJ0hNVoeiDXnPEt4L5El8UYE3si8nkRyRbvuqjf4NVa1yW2VB1ngaaHceP+t+O1yz6S4OIYY+JjGl6z+ia869xmROgHTFrWdGaMMSamrEZjjDEmpuw6mjBFRUU6ZMiQ9jc0xhiz1wcffLBDVQdEWmeBJsyQIUOYO3duoothjDE9SmlpaZvz1lnTmTHGmJiyQGOMMSamLNAYY4yJKQs0xhhjYsoCjTHGmJiyQGOMMSamLNAYY4yJKQs03UQaq+m35A+kbd9vhnhjjOnT7ILN7iIp5C35PbtT0mgecGSiS2OMMUnDajTdRNNz8eeWkrrro0QXxRhjkooFmm7UXHQYaRZojDGmFQs03chfNJLUqnXgb2x3W2OM6Sss0HSj5qLDEA2QWvVJootijDFJwwJNN/IXHwZA2q6PE1wSY4xJHgkNNCKyTkSWich7IrLYpRWJyDwRWe3+FoZsf62IlIvIR+6Wxi3pE9x+ykXkbhERl54hIo+79HdEZFgs348/byjqy7BAY4wxIZKhRnOKqh6tqhPd8k+A/6jqSOA/bhkRGQ3MAI4EpgL3iIjP5bkXmIV3L+2Rbj3AZUClqo4A7gBujek7SUmluXAEqTttQIAxxrRIhkATbhow2z2fDUwPSX9MVRtVdS1QDkwSkRIgT1UXqKoCD4bladnXk8BpLbWdWPEXHWY1GmOMCZHoQKPAyyKyRERmubSBqroZwP09yKWXAhtC8la4tFL3PDy9VR5V9QPVQHF4IURklogsFpHFO3fu7NIbai4aia9hByn1O7q0H2OM6S0SPTPACaq6SUQOAuaJyIdRto1UE9Eo6dHytE5QvQ+4D2DcuHH7rT8QzW5AQOquj2nK7t+VXRljTK+Q0BqNqm5yf7cBTwOTgK2uOQz3d5vbvAIYEpK9DNjk0ssipLfKIyKpQD6wKxbvpYW/yEaeGWNMqIQFGhHJEZHclufAmcByYA5wqdvsUuBZ93wOMMONJBuO1+m/0DWv1YjIZNf/MjMsT8u+LgBecf04MRPMKiKQ1d8CjTHGOIlsOhsIPO365lOBR1T1RRFZBDwhIpcB64ELAVR1hYg8AawE/MCVqhpw+7oCeADIAua6B8D9wEMiUo5Xk5kRjzfWXHyYzXlmjDFOwgKNqq4BxkVI3wmc1kaem4GbI6QvBsZESN+DC1Tx5C8aRc6KhyHoh5REd4MZY0xiJXrUWa/UXDQKCTSRWv1pootijDEJZ4EmBpqLWkaeWfOZMcZYoIkBf+GhaEoa6VvfS3RRjDEm4SzQxIIvncay48lc9x+I7SA3Y4xJehZoYqRh+Jmk1m4ibcfKRBfFGGMSygJNjOw5+BRUfGSunQfAss11PLhoC8s21yW4ZMYYE1829jZGNLOQpsHHkrn2Zd4q+wZXP1NOc0BJ823h7vNGMrYkJ9FFNMaYuLAaTQw1DDuDtOq1rC9fTnNACSo0B5SlFTWJLpoxxsSNBZoY2jP8dBRhir5Dmk9IEUjzCePLchNdNGOMiRtrOouhYPZBNA88mmE7Xufu877B0ooaxpflWrOZMaZPsUATYw3DzyD/7ds4OmcXY48d0n4GY4zpZazpLMb2DDsDgKw1Lya4JMYYkxgWaGIskFdGY+lk+r1/P7KnMtHFMcaYuLNAEwfVn7kWaaolb/HvEl0UY4yJOws0ceAvGkXd6C+RvepxUndGu1u1Mcb0PhZo4qRm4lUEM/LJf+vmHjX/mc1oYIzpKgs0cfLBrlReHvB1MjYvJqv8uUQXp0OWba7j6qdXc9/bm7n66dUWbIwxnWKBJg5aTtjfLh/PUh1J3uvXk75pYaKL1a6lFTU2o4ExpssSHmhExCciS0XkObdcJCLzRGS1+1sYsu21IlIuIh+JyFkh6RNEZJlbd7eIiEvPEJHHXfo7IjIs3u8P9p2w/ZrC/2v6PrvSB1H04hWkbV2aiOJ02PiyXJvRwBjTZQkPNMA1wKqQ5Z8A/1HVkcB/3DIiMhqYARwJTAXuERGfy3MvMAsY6R5TXfplQKWqjgDuAG6N7VuJLPSEXePLZ/mJfyKY3Z/iud8kbfuKRBSpQ8aW5HD3eSOZNbnEJgI1xnRaQgONiJQBnwP+EpI8DZjtns8GpoekP6aqjaq6FigHJolICZCnqgtUVYEHw/K07OtJ4LSW2k48hZ+wDxt+MDvP+RvB9FyKn5tJxvrX412kDhtbksPMYwdZkDHGdFqiazR3Aj8CgiFpA1V1M4D7e5BLLwU2hGxX4dJK3fPw9FZ5VNUPVAPF4YUQkVkislhEFu/cubOr7ymi8BN2oN9gdpz7MP68gyl66VvkLHuwR41GM8aYjkpYoBGRc4Btqrqko1kipGmU9Gh5Wieo3qeqE1V1YnHxfnEoZoL9BrHz3L+z5+BTyF/wK/Ln3wTBQNxe3xhj4iGRNZoTgHNFZB3wGHCqiPwd2Oqaw3B/t7ntK4DQWSnLgE0uvSxCeqs8IpIK5AO7YvFmOkvTsqk8425qj/o6OSsfpfA/34dAU6KLZYwx3SZhgUZVr1XVMlUdhtfJ/4qqXgLMAS51m10KPOuezwFmuJFkw/E6/Re65rUaEZns+l9mhuVp2dcF7jWSr31KUtg9+YdUT/4xWWtfonjuN5Gm2kSXyhhjukWi+2giuQU4Q0RWA2e4ZVR1BfAEsBJ4EbhSVVvama7AG1BQDnwCzHXp9wPFIlIOfA83gi1Z1R31VSpPuZX0zYspfv7rSJNdIGmM6fkkGX/gJ9K4ceN07ty57W8YQxnrXqFo3tU0lk5m11n3gC89oeUxxpj2lJaWLlHViZHWJWONps9rHHYqVSf9gsyK+RS8fh1osP1MUSTrfGXJWi5jTPeyO2wmqYbDzsdXv528RXcSzB7A7sk/7NR+Wqa/aQ4oab4tSXPhZbKWyxjT/axGk8Rqj55F3egv0++Dv5K55qVO7SNZ5ytL1nIZY7qfBZokEbEZSYTq439C00HjKHj9Ony71x/wfpN1vrJkLZcxpvvZYIAwiRgM0LoZSfZrRvLVbGTAP7+AP7eMHdMe2W9wwLLNdSytqGF8WW7E5qf21idKspbLGHPgog0GsD6aJBCpGSn0xPtebQG1g3/AF9ZeT947v2H38T/du64jfR1jS3KS8kSerOUyxnQvazpLAtGakVoCyQ8/PJTZwan0W/4Q6RsX7F1vfR3GmGRngSYJRJuOPzSQ3NI8g10ZZRS8cQPSXA9YX4cxJvlZ01mSaKsZaXxZLr6ULWhA8adkUD7hZ0x6axa5i+9m92d+sjdI9cS+DuujMaZvsEDTI+jev5XFx1B3xEXkLHuQhkOm0jzw6B7Z12HX0RjTd1jTWZJbWlFDIOiFmkDQW9593A8I5gyk4I3re+xMz9a3ZEzfYYEmyUXqg9H0flR99mekVZaTs/yhRBexU6xvyZi+w5rOklxbfTCNB5/CnqFTyH33HhpGnEMwZ2CCS3pgxpbkcM1JZbxWXsWUEQXWbGZML2Y1mh4g/DbQLaqPvxYJ+gm+dkuPm5xy2eY67nqjgsUbarjrjYoeVXZjzIGxQNODBfKGsuaQmQze+CJL33mFq59e3WNO2NZHY0zfYYGmh3s6+wts1P7cmPoAwYC/x5ywvWHbggC+FOujMaY3s0DTw40dOoBfBb/CESkbuCT1lR52wtawv8aY3sgCTQ83tiSHz0/7Mp/2G8+1mf/kqCJ/t+4/VjcnizRs2xjTOyUs0IhIpogsFJH3RWSFiPzcpReJyDwRWe3+FobkuVZEykXkIxE5KyR9gogsc+vuFhFx6Rki8rhLf0dEhsX7fcbD2MH9yDrrBtL8NeQu+UO37bflosr73t7c7f0/NrzZmL4jkTWaRuBUVR0HHA1MFZHJwE+A/6jqSOA/bhkRGQ3MAI4EpgL3iIjP7eteYBYw0j2muvTLgEpVHQHcAdwajzeWCP7iw6g//EJyVjxKatWabtlnLDvso83vZozpXRIWaNRT6xbT3EOBacBslz4bmO6eTwMeU9VGVV0LlAOTRKQEyFPVBerdXOfBsDwt+3oSOK2lttMb1Uz8NpqaSd6CW7plf7GudbQ1bNsY07sktI9GRHwi8h6wDZinqu8AA1V1M4D7e5DbvBTYEJK9wqWVuufh6a3yqKofqAaKI5RjlogsFpHFO3fu7K63F3fBrGJqJnyLzA3/JWP9613en9U6jDHdIaGBRlUDqno0UIZXOxkTZfNINRGNkh4tT3g57lPViao6sbh4vzjUo9QdeTH+/GHkL7ilW+ZBs1qHMaarkmLUmapWAa/h9a1sdc1huL/b3GYVwJCQbGXAJpdeFiG9VR4RSQXygV0xeRPJwpdO9Wd+Qmr1OnJWPJLo0hhjTEJHnQ0QkQL3PAs4HfgQmANc6ja7FHjWPZ8DzHAjyYbjdfovdM1rNSIy2fW/zAzL07KvC4BXXD9Or9Y49GT2DDmR3CV/IKV+R6KL06Znlu/gO8+U88zy5C2jMabrEjmpZgkw240cSwGeUNXnRGQB8ISIXAasBy4EUNUVIvIEsBLwA1eqasDt6wrgASALmOseAPcDD4lIOV5NZkZc3lkSqP7MtRz0j3PJXXwX1SfdlOji7OeZ5Tu47RWvy23hem802/Qx/RNZJGNMjCQs0KjqB8D4COk7gdPayHMzcHOE9MXAfv07qroHF6j6mkDBcOrGXELOstnUHzGD5gFHJrpIrbxWXrXfsgUaY3qndpvORCRHRFLc81Eicq6IpMW+aKaraiZ8i2BWMflv/hyCgfYzxNGUEQVRl40xvUdH+mjeADJFpBTvAsqv4TVTmSSn6bns/syPSd++jOwP/5Ho4rQyfUx/fnTqECYNzeVHpw6x2owxvVhHms5EVetdn8nvVPU2EVka64KZ7tFw6OfI/vAp8hbewZ7hZxDMSp7h29PH9LcAY0wf0JEajYjIZ4CLgeddmt2Zs6cQofqz1yP+BvLe/nWiS2OM6YM6EmiuAa4FnnYjvw4BXo1tsUx38hccQu1RXyd79bOkb1qY6OLsFauZoY0xySVqzcQNPf68qp7bkqaqa4CrY10w071qj/kmWWvmUvD6dWy/4Gk0LbFX+rfMDN0cUNJ8W2yKG2N6sag1GnedyoQ4lcXEkKZmUXXyzfhqKsh75/ZEF4elFTU0+d3M0H67lbMxvVlH+lqWisgc4B/A3jYOVf1nzEplYqKpZCJ1Y75Cv+UP0jD8DJpKJyesLHlZqXsnnQu6ZWNM79SRPpoiYCdwKvB59zgnloUy3Su0L6Rm0nfw5x9Mwev/izQlrm9kd4N/74yn4paNMb1Tuz8jVfVr8SiIiY1IfSHHnPwr+s+5mPz5v6Bqyi2QgFv0jC/LJT11iyuX3WHTmN6s3UAjIpl4d6o8EshsSVfVr8ewXKabRLpL5thjx1Mz4UrylvyepkETqD/ii3EvV8u9bpZW1DC+LNcGAhjTi3Wk6ewhYBBwFvA63jT81nPbQ7R1l8zaY65gT9kJ5L91M2k7ViSkbHavG2P6ho4EmhGqej1Qp6qzgc8BY2NbLNNd2rxLpqRQdcptBDOLKJz3HaSxOu5l68p1NHYNjjE9R0eG+jS7v1XuDphbgGExK5HpdmNLciLWGoJZRew6/Xb6z5lJ0b+/w86pfwJfelzK1JXraJZtruOqf67GH1BSfVv4/fl2DY4xyawjNZr7RKQQuA7vRmIrgdtiWioTN80Dx1N18k1kbHybwld/HLdZniP1HXXU3FW7aA4oipd37qrefdNUY3q6jow6+4t7+gZwSGyLYxKhYdR0Uhp2kf/OrwlmFlJ9wvUdHom2bHNdpzr0vb6jzo46C79Jaq+/aaoxPVqbgUZEvgdUq+r9YenfBnyqemesC2fip27c1/E17KTfB38lmJZNzaTvtxtsutL81ZVRZ2cfUczzq3biD0Cqz1sO98zyHbxWXsWUEQU2Q7QxCRatRvN14JgI6fcBi4AuBRoRGQI8iDeiLQjcp6p3iUgR8DheP9A64IuqWunyXIs31DoAXK2qL7n0Cey7lfMLwDWqqiKS4V5jAt5Fpxep6rqulLs3233cD5DmOnLfvx9f/XaqTropap9NxKHTBxAw2uo76ki+358/qs0gZbeJNia5ROujUVVtipDYCHTHFX5+4PuqegQwGbhSREYDPwH+o6oj8W609hMAt24G3vU8U4F73KSfAPcCs4CR7jHVpV8GVKrqCOAO4NZuKHfvJUL1Z29g98RryF49h+IXv4k0td130tbQ6XiINjQ60m2ijTGJE3UwgIgM7EhaZ6jqZlV91z2vAVYBpcA0YLbbbDYw3T2fBjymqo2quhYoByaJSAmQp6oLVFXxajCheVr29SRwmkgCLoPvSUSoPeZyKqf8ivRNixnwzwtI37Ik4qZjS3K45qQyJg7J5ZqTypJm5JfdJtqY5BKt6ezXwPMi8n3gXZc2AW/E2W+6sxAiMgwYD7wDDFTVzeAFIxE5yG1WCrwdkq3CpTW75+HpLXk2uH35RaQaKAZ2dGf5e6OGUdMJ5JZR8Nq1FM/5CnVjL2X3sddA6t7JIVi2uY673qigOaC8v6mWQ4uzkiLYtDSTWR+NMcmhzUCjqg+KyHbgF8AYvKE9K4AbVHVudxVARPoBTwHfUdXdUSockVZolPRoecLLMAuv6Y3S0tL9MvRVTSUTee2zj1C46LdMWPYAmWteovboy6g/7AJIzehyH01nR6x1hN0m2pjkEXV4swso3RZUwolIGl6QeTjktgNbRaTE1WZKgG0uvQIYEpK9DNjk0ssipIfmqRCRVCAf2O+iC1W9D2+QA+PGjbOxss6yzXVc/a+NNAcu4oTUo7g7/VkK5/+S3Hf/SN2RF3NCwUn8zSedGqLc3kWXsQxCxpj46sgFmzHh+kruB1apauiduOYAl7rnlwLPhqTPEJEMERmO1+m/0DWz1YjIZLfPmWF5WvZ1AfCK68cxHRB6c7L5zUfwp4PvZMc5s/EXjSBv8V2c+OoXWFx4HQ8PfY7HJm/g6H5V0MHDG+2iy5Zh0/e9vZmrn14dcZoZm4ImfuxYm65K5N2mTgC+AiwTkfdc2k+BW4AnROQyYD1wIYCqrhCRJ/BmJvADV7o7gAJcwb7hzaG1sPuBh0SkHK8mMyPWb6o32e/mZNlpNA2exM7Bk0ip3UzW2nlkrn2ZyVsfR7Y+AoshmNaPQL9BBHIGspNCNjVmUFhYxICiQjQ1C03NRNOyKams4ShRdpPNdi1gV/2+AY4tAU7Zd/fN8NpOT70NdE+rqfXkY22SR7QLNq9x17WcoKrzu/uFVfVN2h4mfVobeW4Gbo6QvhivHyk8fQ8uUJkDF3ozsvCbkwX7lVA3diZ1Y2eCfw9puz4mbccKUis/wVe3laaqTaRUruJwGsjd3rDfvn8MkLFvec/mLFIfH4g/fxhn+gezLSWP93QEa7Rkv7tvdrVvqD2xCgY98aQd62Nt+oZoNZqvAXcBvyPyhZumlws9wStRbrecmknzQUfRfNBRe5MeXLSF+7ZuJqjgkyBXHZvPl47KQ5obkOZ65n+0keeWriOPegZIFZ8b6mdU5m5Sq9YwrupNjkn3gtoOzWPHyvFkpZ3JnoNPRTMLuqeD4LkAACAASURBVDh9TXSxDAY98aQdy2Nt+o5ogWaViKwDBojIByHpgncx51GRs5neouV2yy1D+w7kdsvjy3LxpWxBA0pKio/RB5cQzN53Un367XTeCO6bOuZDyeOWMw4FYPnGau589r+M04+Y7PuQM/d8SNbrr6OSSmPpcUwaeS6/O/dE3t3c2GatI1qtJNq6WAaD0GPiS+kZJ227QZ3pDtGGN39JRAYBLwHnxq9IJll09XbLftfZ7w/sP0BgR52/zeUxpfmcc9JkXis/nCEjLqXyyGJqd6wgc81LZK15kcJXf8yU9AJyC/+HpuIvA4e22le0EW3tjXaL/S94Dfub/Do7VZAxLdob3rwFGCci6cAol/yRqjZHyWZ6ia78mr13/sZWp9R752/kngtG7V1/zpHFrNxa32q5ReQLQcfQPGAMNZO+y6Zlr1L51gOcuuVRAlseZ+uwaaQf/y0Cud41UC0j2mDfiLaWskdb19X33J6lFTUEgt7xCATpEU1nxnSHdkedicjJeNO6rMNrQRkiIpeq6hsxLptJAu39mm2rGerTyj2ttgtfjnb1ftTmK0nh341Hcl/z9yjR7XwrbQ4z1s8hZcO/qD/8AmomXMWu+ta/g1ovt3+LgVj9grf+DtNXdWR48+3Amar6EYCIjAIexZuOxvRh0TrOfSmtBxSGLwMcWpzF7gY/hxZntUpv74Tcsn5zYAC/0G9Qdtp3mbjp72SveoKs8uf4Qu5FvM2JNJEGQFH2vq95R24xECvW32H6qo4EmrSWIAOgqh+7K/pNHxet5pESNpVQ+HK0INXeCTl8/ciSHKoPuYG6Iy8h7+1bmbbhL4xJf57r/F9nQfBIRh2U3SpvtFsMxJr1d5i+qCOBZrGI3A885JYvBiJP52v6lGg1j6NL+/HyR5WtlkO1N7qrvRNypPX+wkPZdfZ9/OtfTzF14908mn4zTwZOYunmb0NI05yd7I2Jr44EmiuAK4Gr8fpo3gDuiWWhTPKINhQ4Ws0jO6317Ebhy7Hsr1iVcyy3N93G1an/ZJbveaZ++j5Na25kzyFT289sjOl27QYad6Oz293D9CEduXix7dpBeJ9M6+WWe9m0DAbozhpGSz/Mb/wzeEGP55GC2RT9+7s0HPIS1SdcTzCrKGr+njZNTHfoi+/ZxE8i5zozSa69Oceg7RPU2UcUuU53JdUnnH1E0X757ni9An9AWbrxwO9l015N67snD3FB7ATqRn8Oef9+cpf8gfRNC6k+6RfsGRZxlqMeOU1MV/XF92ziK2GzN5vkt9+kmmFT0ESbZXlsSQ5fPHoApfnpfPHoAfuduKLN3tye9mZ3brkOZ/GGGu56o4JlWxupHf9Ntp//JMGcgRS9fBUFr/0Uaardb9+R+o66UzLOhBzr92xMhwONiNhPnD6mZQoaiDwFTbQT1DPLd/Dwkm1UVDfx8JJtPLM8/Kam7V/P0pb2Toyhtzdo8u9b7y8axfbpj1Ez/ptkrX6WAU+eS/qmha3yen1HQooQs3nUot3+IBFi+Z6NgQ4EGhE5XkRWAqvc8jgRscEAfYA3BY13AkpPbet6lsgnqCeWbmu1bfjy2UcUk+bzAljaAV7P0t6JsaYp0GpWgpqmwL6VvnRqjv0OO859GFLSKH7uq+QtuBX8jcC+AQ6zJpdEbELqSo0kWWsO7b1nY7qqI300dwBn4d1EDFV9X0ROimmpTFLoyPUsbXXo7/EHW20bvtyV61naK9fqsNsShC8DNA88mu1feJq8t2+j37IHyKh4k6opt9A84Mg2Bzh0tS8jmWcGsCHfJpY6NBhAVTdI6wvuAm1ta3qXaCcgr0N/A/4ALN1Y06pDf1BuOltq9k39Mig3/YD23ZVyFYT1JYUvtxpIcOKN7Dn4VAreuJ7+z1xE7fhvsqDkK7y7ac9+QayrMzvbzACmr+pIoNkgIscD6ibXvBrXjGb6trmrdtLsfnI0B7zllpPnsKJM3tu0r3lpWFFm3MpVFdaXFLoccfbmoSex7cI55M+/mdx376FMn+fuplncn3JIq9mdO1IjeWb5jojzt7WwmoPpizoyGOByvAs2S4EK4Gi3bPq8tq+V6UofTFdNGVHQ5nJbo900I5+qU2/j/kE3MIAqnkm/nu/Lw/x7xaa9edvry3hm+Q5ue2UDC9fXcNsrGyIMgDDhknEUnul+HblgcwfetDPdTkT+CpwDbFPVMS6tCHgcGIY3Y/QXVbXSrbsWuAyv6e5qVX3JpU8AHgCygBeAa1RVRSQDb+bpCcBO4CJVXReL99IXjTooq83lRM4pFm1m6OgzO8OyfsdzV2Mp16Y+yuWpz7Fj/RJk/c9oHDql3dd9bsXO/ZbDazV2YeQ+dv1O39GRUWezRaQgZLnQBYju8AAQPi/IT4D/qOpI4D9uGREZDcwAjnR57hERn8tzLzALGOkeLfu8DKhU1RF4gxpu7aZyG9of/jy2JIeZxw5KyMlj+pj+3Dl9xH4n+tCZnCMtn31EMXUp/bjW///4cvN1ZGakU/ziFRS9eDmfrF7FVf/8mD8t2MxV//x4v1/h6T6JutzSbOflT57hzYmSrKPwTPfrSNPZUapa1bLgahfju+PF3T1twq/UmwbMds9nA9ND0h9T1UZVXQuUA5NEpATIU9UFqqp4NZjpEfb1JHCahI1qMJ3X3vDnZBQ6k3OkZWDvJT3vBEfz1pTHqD7uh6RvXsRnXr2In8psiqne2ycVqq7JH3W5Kxep9kZ2/U7f0ZHBACkiUhjSfFXUwXydNVBVNwOo6mYROcillwJvh2xX4dKa3fPw9JY8G9y+/CJSDRQDrRrPRWQWXo2I0tJSTMd0dRRVIpqRQmtdkWphDy/ZSsudpwMKf1+6izHnfJ2Gkefw4T9v5it187jI9xp/DUxlZe0MYOjevNtrW+8rfLm9i1TbG0jQ28RyvjuTXDoSMH4LvCUiT7rlC4GbY1ekNkWqiWiU9Gh5Wieo3gfcBzBu3LieczP3JNDZUVSJap8PvXhzv4s5gY+310dcDmYfxF8LruHnlWfx3dQnuSr1WRq3voj/zfOoHXspgfxh7Y60O/uIYv61YicBBZ+0HiDRMpAAYOF6rwmptwebyLfsjlOwCTaTtmMl6duW4avdhK9mEykNOyAlFfVloGnZNBeNpHnAWJoGjEEzC+NTrl6qI4MBHhSRxcCpeCfu81V1ZQzLtFVESlxtpgRouaS8AhgSsl0ZsMmll0VID81TISKpQD77N9WZBOjqNSmd1d7FnE2BYJvLRdmpvKElXN38be72n8dNA15h8odPkb3ycRpLP8NVxafy7U2H0IAXYM48vPVEop/sbGhVW/pkZ8Pe9xxpJoXeHmji/R1Iqd9G5pp5ZK5/lfQtS0nxez8i1JeBv99ggtkDIOgnpamWlOp1ZK55CXG/SxtLJlF/+AU0DD8DUuM3VL+3aDPQiEiequ52TWVbgEdC1hWpaqxO2HOAS4Fb3N9nQ9IfEZHbgcF4nf4LVTUgIjUiMhl4B5gJ/C5sXwuAC4BXXD+OSbBEXSU/ZUTB3hpDy3KoDF8Kodcje8ue0NtAf5pSxu6Tf8nW/J+Ss/JxslY/w+kbf8mijExeCx7Nq4GjeWfl5FbB4rXyqtCX4rXyqr3r25tJoauScbRbPL4D0lxP5poXyf74WdI3L0JQmgsOpWHUdBoHH0vTwPEEsw+CCF230lTr1Xo2LyJ79RwKX/0R+fPzqB07k7qjvoamRejfMxFFq9E8gjf0eAmtm5vELR/S1RcXkUeBKUB/EakAbsALME+IyGXAerymOlR1hYg8AawE/MCVqtpyRriCfcOb57oHwP3AQyJSjleTmdHVMpvukair5KeP6c/G6kZeL6/i5Ah9IQNz09gcMqPBwNx9dy2PNGQ7SA41E6+iZsK3uO7PT3BG4A1O8y3lHN/bUPVHmp84lOYBY2gaMJYvDziIDeuFrRQSJKVVkEtNaX2iC18GINBESmO1e+xGGqtJaapBmmrZtquS7buqGdxPGJAFaAAkBcTH9vogKz9qYI9mMW9RDsUnjGbokKEEcgai6XkRT7LxEMvvQOquj90PgDmkNNfizx9G7TFX0HDIVPxFIwHXJzaviikjfPt9D/b1lx3C9AmTqD3mCtI3LyZn+d/JW/J7cj78B7uP/Q4NI8/1jrOJSqL9wHcjtIao6vr4FSmxxo0bp3Pnzm1/Q9Mjte4bkv36hq548mPeD+lnGTc4h3svGNUqf1snxksfWcXqHXsA5Uj5lPNzV3DxoI2kbV+Or2Hf+JMm9bGNQjJzCsjNL0LTspn/aS3NQUFQ0mkmO8XP+IE+pKl2bzBJ8e8/Z1uooApNpJKalk6KLxVUQf34m5tJpzlynvQ8/AXDWN44kAW1g8gsG8v/nHwimlkQcfukFvSTue4VclY8TMbmhagvnYbhZ1F/xBdpGjShVUAN7RMD+NGpQ/YGm2jrANK3LCFvwS2kb19O4+DjqDzlVoI5A+PwBg+ABsn89FWa+o8m2K8kLi9ZWlq6RFUnRloXtY/GXfT4NN4Fj8b0eO31C1SHjUKrbm/6mpC8JXkZLtAIK3QYxf3HcfbUQ0CVlLot/PmFN2nY/ilDZRsDpIqD/Y2M1QAp9dsYInUExWsu20MapKQTTMtHc0oIpvdD0/sRzCggmJlPMD0PzcgnmJFHMD2XJ1Y28Mcl1dRpBikizDqmhJnHDtpbri8/tJKKyjpyqSdP6jkqt56fn5iFr24rqbvXs+XTjyipXcKVsgs+BR4Ef95QmgYeTdPAY2gadAz+whEJq/m0J6V+B9kf/oOcVU/gq9uCv99gdk/6PnWHf6HNTvxozZjR1gE0DZrAjumPk/3RU+S9dQsHPTmNqpN/yZ5hp3eovLFuxvRVf0rBG9eTsXkRwbRsdk/6HvWjv5TQmldHRp29LSLHquqimJfGmBgbX5aLL2ULGlB8Kfv3CwwtzGRdZWOr5RYt18HAvutgOnSiECHYr4Ti0ae0/qV84hAGuxPYdc+Ut+o7mjQ0lzs/N6JD72nU8Dr8760mpY2+jtqmAH5SqSSPSs2jLpDKnkPH7l1/6ScrqGhsooAajkxZx2ez1vPVoq1kVMwne/UcAAKZRTSVHEvj4Ek0lU7Gnz88sYFHg6RvfJvsj54ia+08JNjMntLjqT7hOvYMnQIpvqjZo/XVtdePB4CkUH/4hTQOmkjhKz+k6OVvUzvmK+ye/CNIafu0GtPRlqrkLH+I3IV3gC+N6uN/Ssb6NyiY/0uyyl+g6tTbCOQm5vKNjgSaU4DLRWQdUIfro1HVo2JZMGNiR8P+7nPxhIHMX1dNIAi+FG95/3yRl9ubdSDa1DibqhtbbRu+HE17fR2V9f6oy/VuZtQqcpkfHMsqPZppZx4FqvhqNpC+eQkZm94hfdNCsta+BEAg+yAaBx9HY+lkmgYfF7MTWKtri44sJrVyNVlrXiTr42dJrd1EMCOfutEzqBv9JQIFwzu832ifRbR14QIFw9kx7RHy3vkN/ZY/RGrVGipPux3NyIu4fSxH2uUse4D8t29jz9BTqDrxRoI5B1F35CVkrX6W/DdvIvj6bTw48NqEDAjpSKA5O+alMCZOllbUEAh6ISIQZL9/9LElOdzzhchztIWOOkuNMFFoe+vBO4lFOnGNHpRDRXVTq+UDEe16JmkZvhO6HGJXfSDysgiBvKE05A2l4bDz9gaejI1ve4+K+WSX/wsAf7/BNA2aQNOgY2gaOB5/4aFRf9l3xDPLd3DXK58wIeVj2LScrKXvUdiwHkVoKj2Omknfo2HY6ZCa0an9t/VZtLduP750dh//U/xFo8j/78/p/8wMdk29l0D+wfttGquRdpnr/k3e27+m4ZCpVJ72233NZCI0jJpO7ZqFFH06lwfWfpm/+TLiPq9ctOHNmXgzN48AlgH3q2r4pc7G9Cgd+Udv66Td3kShXZlI9JCwizvDl7vi1JGFvPxRZavlUGFxKOJVzt4KL/DU5w2l/ogvgiqpleVebWfzIjI2LtgbeNSXQXPRKJqLD+f9hgHMrypg6LCRnDz2EIIZBeALuT+RKtJcT0rDDnz120mt/IS0XR9zyur3uCxjNRnSjF9T+NA/BvnsV9kz7HTvmpckU3/4BfjzhlI47xr6P/sldk39I80HtW74icVIu7QdKyh45Uc0DxhL5ZRfReyLeSttMhfJ0xwvy3ktcEzcrltrEe0nx2y86V3+i1erGQ1cE49CGRMrsR5W3dmZEsaX5ZKR2vlfutE6mL9w1ADmfVS5dxqNLxzV+iSd5oPQCRLSwro32ty3CP6ikfiLRlI35hJX46kgfet7pO1cRdqOlaSUv8zx/mqOB3jfPYCgLxMkBQ0GUA2Sqq1HxQXTcijIHM7shjN5KziaRcHDufKEUUwfndwXsTYNnsSO6Y9S/MIsip/7KpWn377fzN/deU+ilLqtFL34LYKZBew66/cs2x5gacWW/T6rwsNPoqY8i7N9i5ivE+I+r1y0QDNaVccCiMj9wML4FMmY2ErGaXO6EgDbK9fSihpEvNHOIvs3F04Z0brGM2VEYYf33YoIgbwhNOQNoWHk5wH4xuMfUbF1GwfLNobINkbnNTFzbCYpjbvZXtvEK+VV+IPCbunH1AmHMbikFH/BcAL9BnuBbPkO6suruLIHzf8WyB/GjmmPUPTi5RS9dBXVJ95A/eEXdvvriL+BopeuRJpr2XnuI7xfnd3mZzWmtICasimcs2U++VOHMyaJ+mj2/sRwE1LGoTjGJK9YT5nS2QDYXrnaay688axhALy9bjeTh+XtXe7IvtvTPyeNlfRjmfZjmR5CbVE+54/3rvV+fNEW7mveTFAhRSAgJcwcMqhV/gPqK0kiwez+7Pz8bAr//V0K3vgZvpqN1Ey8pvtG6qlS8NpPSduxkl1n/QF/8WEsXbQl6meVOfpssjbO5RhW0sRnuqccHRQt0IwTkd3uuQBZbrll1FnkYRXG9FKJmjanPe2VqyO1pdDgciD7bk+0UXzJejy7i6blsOusP5D/5k3kLv0TvpqNVJ18c+v+qU7q9+49ZK15kerjfkDjwacA7R/PxiGfJejLJGvtPJpK4xtoos4M0BfZzAAmmmScMwxiW66u7jta/mQ9nt1KlX7v/Zm8RXfQOGgClafdTjDnoPbztSF7xSMUzL+J+lHTqTr5/1rVkto7noUvX036tvfYevFr3X4BZ7SZASzQhLFAY4yJhcxPXqDg9evQtGwqT/0NTaWTD3gf/d77M3kLb2fP0FPYdcadB1w7yip/jsJXfsj2aY/QPLBb7l+5V7RAY7PBGWNMHOw59H/Ycd4TBDMKKH7hMnIX3w3+PR3LrEruwtvJW3g79SPOYdeZd3WqCW7P0JPRlDSy1v77gPN2hQUaY4yJE3/hCHac9zgNI84h9917Gfj42WR9/Axo27eFSN/yLv3nfJnc9/5M3REXUTXlFkhJa3P7aDQ9l+biw0jd9VFn30KnxPKWzMYYY8JoWg5Vp9xK/eEXkPf2ryl87Vpyl/6JPUNOpKnkWJoLR+Cr20JqTQUZ698ga92/CWQPoPKkX9Jw2PldHrnmzxtK+rZl3fRuOsYCjTHGJEBTybHsmP4YWZ/MJfujp8he9Q/6LX+o1TbBtBx2T7yaurGXdtuN1gJ5Q/CteQmCzZ2uGR0oCzTGGJMokkLDiM/RMOJzEGgiffsyfNXrCfQrIZBbRqDfoC7PGRfOnzcU0QC+mk0R52OLBQs0xhiTDHzp3g3aBsX29l+BvKEApO7eELdAY4MBjDGmD/G7QOPbHb8bJ/eJQCMiU0XkIxEpF5GfJLo8xhiTKMHsAQR9maRaoOk+IuID/sC+Gai/JCKjE1sqY4xJEDf5qW/3hva37Sa9PtAAk4ByVV2jqk3AY8C0BJfJGGMSxp8/lNTdn8bt9fpCoCkFQkN3hUvbS0RmichiEVm8c+fOuBbOGGPiLZA3lNTdFVEvFO1OfSHQRLq6qdUEb6p6n6pOVNWJxcX7337XGGN6E3/eUCTQSErdtri8Xl8INBXAkJDlMmBTgspijDEJF8jzTonxGhDQFwLNImCkiAwXkXRgBjAnwWUyxpiE8ed518/EK9D0+gs23d1BrwJeAnzAX1V1RYKLZYwxCRPoNwiV1LiNPOv1gQZAVV8AXkh0OYwxJimkpBLIHWxNZ8YYY2LHn39w3GYHsEBjjDF9UCB3CKm7N0Ac7rJsgcYYY/ogf/5QUppqSGmsivlrWaAxxpg+KJ6Ta1qgMcaYPmjv7QKqLdAYY4yJAX9uGYpYjcYYY0yMpGYQyBkUlyHOFmiMMaaPCvYbhC8O851ZoDHGmD4qmFFgo86MMcbETjCzgJQ9FmiMMcbESDCzALFAY4wxJlaCGQWkBPaAf09MX8cCjTHG9FHBjHwAUhqrY/o6FmiMMaaPCmYWAMS8n8YCjTHG9FF7A02MR55ZoDHGmD4qmGE1GmOMMTFkTWfGGGNiqlcPBhCRC0VkhYgERWRi2LprRaRcRD4SkbNC0ieIyDK37m4REZeeISKPu/R3RGRYSJ5LRWS1e1war/dnjDE9QmomQV9mr+2jWQ6cD7wRmigio4EZwJHAVOAeEfG51fcCs4CR7jHVpV8GVKrqCOAO4Fa3ryLgBuA4YBJwg4gUxvA9GWNMj6NxmB0gIYFGVVep6kcRVk0DHlPVRlVdC5QDk0SkBMhT1QWqqsCDwPSQPLPd8yeB01xt5yxgnqruUtVKYB77gpMxxhjiMw1NsvXRlAIbQpYrXFqpex6e3iqPqvqBaqA4yr72IyKzRGSxiCzeuXNnN7wNY4zpGeIxsWbMAo2I/FtElkd4TIuWLUKaRknvbJ7Wiar3qepEVZ1YXFwcpXjGGNO7xGO+s9RY7VhVT+9EtgpgSMhyGbDJpZdFSA/NUyEiqUA+sMulTwnL81onymSMMb1WMCO/d446i2IOMMONJBuO1+m/UFU3AzUiMtn1v8wEng3J0zKi7ALgFdeP8xJwpogUukEAZ7o0Y4wxjtd0Vg0ascGnW8SsRhONiJwH/A4YADwvIu+p6lmqukJEngBWAn7gSlUNuGxXAA8AWcBc9wC4H3hIRMrxajIzAFR1l4jcBCxy2/1CVXfF/t0ZY0zPEcwsQDSANNWgGXkxeY2EBBpVfRp4uo11NwM3R0hfDIyJkL4HuLCNff0V+GuXCmuMMb1Y6HxngRgFmmRrOjPGGBNHe2cHiOGAAAs0xhjTh+2r0cRuQIAFGmOM6cPiMYOzBRpjjOnDNA73pLFAY4wxfVgwPQ9FrEZjjDEmRlJ8aEaeBRpjjDGxE8zIR6zpzBhjTKwEMwts1JkxxpjYCWbkW9OZMcaY2In1rQIs0BhjTB8X65ufWaAxxpg+LphZQEpzHQSaYrJ/CzTGGNPH7Z0dIEYDAizQGGNMHxfr+c4s0BhjTB+nMZ7B2QKNMcb0ccEYz3dmgcYYY/q4WM/gbIHGGGP6uL01mt4UaETk1yLyoYh8ICJPi0hByLprRaRcRD4SkbNC0ieIyDK37m4REZeeISKPu/R3RGRYSJ5LRWS1e1waz/dojDE9haZmoylpMZvvLFE1mnnAGFU9CvgYuBZAREYDM4AjganAPSLic3nuBWYBI91jqku/DKhU1RHAHcCtbl9FwA3AccAk4AYRKYz9WzPGmB5GxJuGpjeNOlPVl1XV7xbfBsrc82nAY6raqKprgXJgkoiUAHmqukBVFXgQmB6SZ7Z7/iRwmqvtnAXMU9VdqlqJF9xagpMxxpgQsZwdIBn6aL4OzHXPS4ENIesqXFqpex6e3iqPC17VQHGUfe1HRGaJyGIRWbxz584uvRljjOmJvBmcYxNoUmOyV0BE/g0MirDqf1X1WbfN/wJ+4OGWbBG21yjpnc3TOlH1PuA+gHHjxkXcxhhjerPG0hMQf0NM9h2zQKOqp0db7zrnzwFOc81h4NU6hoRsVgZscullEdJD81SISCqQD+xy6VPC8rzWibdijDG9Xu0xl8ds34kadTYV+DFwrqrWh6yaA8xwI8mG43X6L1TVzUCNiEx2/S8zgWdD8rSMKLsAeMUFrpeAM0Wk0A0CONOlGWOMiaOY1Wja8XsgA5jnRim/raqXq+oKEXkCWInXpHalqgZcniuAB4AsvD6dln6d+4GHRKQcryYzA0BVd4nITcAit90vVHVXzN+ZMcaYVmRfq5UBr49m7ty57W9ojDFmr9LS0iWqOjHSumQYdWaMMaYXs0BjjDEmpizQGGOMiSkLNMYYY2LKAo0xxpiYslFnYURkO/BpF3bRH9jRTcXpTlauA2PlOjBWrgPTG8t1sKoOiLTCAk03E5HFbQ3xSyQr14Gxch0YK9eB6WvlsqYzY4wxMWWBxhhjTExZoOl+9yW6AG2wch0YK9eBsXIdmD5VLuujMcYYE1NWozHGGBNTFmiMMcbElAWaThKRv4rINhFZHpJ2o4hsFJH33ON/ElCuISLyqoisEpEVInKNSy8SkXkistr9LUySciX0mIlIpogsFJH3Xbl+7tITfbzaKlfCv2OuHD4RWSoiz7nlhB6vKOVK+PESkXUissy9/mKXlvDj1Ua5YnK8rI+mk0TkJKAWeFBVx7i0G4FaVf1NAstVApSo6rsikgssAaYDXwV2qeotIvIToFBVf5wE5foiCTxm7kZ6OapaKyJpwJvANcD5JPZ4tVWuqST4O+bK9z1gIpCnqueIyG0k8HhFKdeNJP5/ch0wUVV3hKQl/Hi1Ua4bicHxshpNJ6nqG3g3WksqqrpZVd91z2uAVUApMA2Y7TabjXeST4ZyJZR6at1imnsoiT9ebZUr4USkDPgc8JeQ5IQeryjlSlYJP17xZIGm+10lIh+4prWENB+0EJFhwHjgHWCguyU27u9BSVIuSPAxc80t7wHbgHmqmhTHq41yQeK/Y3cCPwKCIWkJP15tlAsSf7wUeFlElojILJeWDMcrUrkgBsfLAk33uhc4FDga2Az8NlEFEZF+cFTgbQAABQ9JREFUwFPAd1R1d6LKES5CuRJ+zFQ1oKpHA2XAJBEZE+8yRNJGuRJ6vETkHGCbqi6J5+u2J0q5Ev79Ak5Q1WOAs4ErXbN7MohUrpgcLws03UhVt7qTQxD4MzApEeVwbfpPAQ+r6j9d8lbXT9LSX7ItGcqVLMfMlaUKeA2vHyThxytSuZLgeJ0AnOva9x8DThWRv5P44xWxXElwvFDVTe7vNuBpV4ZEH6+I5YrV8bJA041avjjOecDytraNYRkEuB9Ypaq3h6yaA1zqnl8KPJsM5Ur0MRORASJS4J5nAacDH5L44xWxXIk+Xqp6raqWqeowYAbwiqpeQoKPV1vlSvTxEpEcN/gFEckBznRlSPT3K2K5YnW8UrtjJ32RiDwKTAH6i0gFcAMwRUSOxmv7XAd8MwFFOwH4CrDMte8D/BS4BXhCRC4D1gMXJkm5vpTgY1YCzBYRH94PrydU9TkRWUBij1db5XooCb5jkST6+9WW2xJ8vAYCT3u/s0gFHlHVF0VkEYk9Xm2VKybfLxvebIwxJqas6cwYY0xMWaAxxhgTUxZojDHGxJQFGmOMMTFlgcYYY0xMWaAxpgNEpDZs+asi8nv3/HIRmdlO/r3bx5OIPCAi9S3XTLi0u0RERaS/Ww6IN1PvchH5h4hku/SBIvKIiKxx05QsEJHz4v0eTM9ngcaYLlLVP6rqg4kuRxTleJM4IiIpwCnAxpD1Dar6/9u7dxCprjiO498fWOyKkiqFMSJorCSwECQR4rONRSDimi6aRrGwcIuIaJEyARtN8JFgLKJpfJRJocX6wkdUkAREoqiNhSKLgg+y/lKcM9lx3XVGnGshv08zZ+89d869AzN/zj17//+BmoX8KbCuPmB7FBi2Pcf2R5QHId9/s6ceb4MEmojXpFLDY6i2F9SEhGckfa+2ekXAe5J+V6lB8l3tv0rS9treKOl6bc+VdLK2t0k6X2cce1TMlXSx7RzmSZos/9hBYLC2lwKngH8n6XsC+ABYDjy1vau1w/ZN2zte6cOJIIEmolv9GisGdRn4dpJ++4B1thcCo+P2DVB+8D8EBiXNAoaBRXX/IuCepJnAp5QffYCdthfUGUc/sML2P8BIfYobYA3wyyTndA14t2bi/ZKSC+wFkqZQEixeAeYDFyfqF/GqEmgiutO6vTRQMypvG9+h5iabbvt03XRgXJdjtkdsPwb+BmbbvgNMq2sos+oxiylBpxVolkk6K+kKZaYxv27/CVhT09QMTjBeu8OUW18ft71vS38Nnhco6VB+nuDaflCp9nn+JWNETCi5ziJ6Rx32P2lrjzL2/TtDmZFcpQSBtcBCYJOkPuBHSiXE2yoVEPvqcYcoOfaOA3/avveSsX+jzFD2235Wc1y1PKrBc+xCpL+AL1p/295Q/3ngQodrjHhBZjQRPWL7PvBA0id10+ouDx0GhurrJcpi/RPbI4wFlbsqtXxWto33GPiDUkNkX4dzuwVsoQStbhwH+iStb9s2tctjI56TQBPRW18De2r2ZwEjXRxzgnLbbNj2KHAbOAn/16LZS1k3OQqMv3X1K7VSYqdBbO+uazsduWTb/RxYIumGpHOUksNvtK59vB2SvTmihyRNs/2wtr8BZtje2OB4Q8A7trc2NUbE68oaTURvfSZpM+W7dRP4qqmBJB2hlN1d3tQYEb2QGU1ERDQqazQREdGoBJqIiGhUAk1ERDQqgSYiIhqVQBMREY36D+8dUzHb6oY+AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "f1 = np.polyfit(x, y, 11)\n",
    "p1 = np.poly1d(f1)\n",
    "print(p)\n",
    "PlotPolly(p1,x,y, 'Highway MPG')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "# calculate polynomial\n",
    "# Here we use a polynomial of the 11rd order (cubic) \n",
    "f1 = np.polyfit(x, y, 11)\n",
    "p1 = np.poly1d(f1)\n",
    "print(p)\n",
    "PlotPolly(p1,x,y, 'Highway MPG')\n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>The analytical expression for Multivariate Polynomial function gets complicated. For example, the expression for a second-order (degree=2)polynomial with two variables is given by:</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "Yhat = a + b_1 X_1 +b_2 X_2 +b_3 X_1 X_2+b_4 X_1^2+b_5 X_2^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can perform a polynomial transform on multiple features. First, we import the module:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import PolynomialFeatures"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We create a <b>PolynomialFeatures</b> object of degree 2: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pr=PolynomialFeatures(degree=2)\n",
    "pr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "Z_pr=pr.fit_transform(Z)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The original data is of 201 samples and 4 features "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(201, 4)"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Z.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "after the transformation, there 201 samples and 15 features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(201, 15)"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Z_pr.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Pipeline</h2>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>Data Pipelines simplify the steps of processing the data. We use the module <b>Pipeline</b> to create a pipeline. We also use <b>StandardScaler</b> as a step in our pipeline.</p>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.preprocessing import StandardScaler"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We create the pipeline, by creating a list of tuples including the name of the model or estimator and its corresponding constructor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "Input=[('scale',StandardScaler()), ('polynomial', PolynomialFeatures(include_bias=False)), ('model',LinearRegression())]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "we input the list as an argument to the pipeline constructor "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Pipeline(memory=None,\n",
       "     steps=[('scale', StandardScaler(copy=True, with_mean=True, with_std=True)), ('polynomial', PolynomialFeatures(degree=2, include_bias=False, interaction_only=False)), ('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False))])"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipe=Pipeline(Input)\n",
    "pipe"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can normalize the data,  perform a transform and fit the model simultaneously. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/preprocessing/data.py:625: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  return self.partial_fit(X, y)\n",
      "/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/base.py:465: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  return self.fit(X, y, **fit_params).transform(X)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Pipeline(memory=None,\n",
       "     steps=[('scale', StandardScaler(copy=True, with_mean=True, with_std=True)), ('polynomial', PolynomialFeatures(degree=2, include_bias=False, interaction_only=False)), ('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False))])"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipe.fit(Z,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Similarly,  we can normalize the data, perform a transform and produce a prediction  simultaneously"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/pipeline.py:331: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  Xt = transform.transform(Xt)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([13102.74784201, 13102.74784201, 18225.54572197, 10390.29636555])"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ypipe=pipe.predict(Z)\n",
    "ypipe[0:4]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
    "<h1>Question #5:</h1>\n",
    "<b>Create a pipeline that Standardizes the data, then perform prediction using a linear regression model using the features Z and targets y</b>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/preprocessing/data.py:625: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  return self.partial_fit(X, y)\n",
      "/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/base.py:465: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  return self.fit(X, y, **fit_params).transform(X)\n",
      "/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/pipeline.py:331: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  Xt = transform.transform(Xt)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([13699.11161184, 13699.11161184, 19051.65470233, 10620.36193015,\n",
       "       15521.31420211, 13869.66673213, 15456.16196732, 15974.00907672,\n",
       "       17612.35917161, 10722.32509097])"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code below and press Shift+Enter to execute \n",
    "Input=[('scale',StandardScaler()),('model',LinearRegression())]\n",
    "\n",
    "pipe=Pipeline(Input)\n",
    "\n",
    "pipe.fit(Z,y)\n",
    "\n",
    "ypipe=pipe.predict(Z)\n",
    "ypipe[0:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "</div>\n",
    "Double-click <b>here</b> for the solution.\n",
    "\n",
    "<!-- The answer is below:\n",
    "\n",
    "Input=[('scale',StandardScaler()),('model',LinearRegression())]\n",
    "\n",
    "pipe=Pipeline(Input)\n",
    "\n",
    "pipe.fit(Z,y)\n",
    "\n",
    "ypipe=pipe.predict(Z)\n",
    "ypipe[0:10]\n",
    "\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Part 4: Measures for In-Sample Evaluation</h2>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>When evaluating our models, not only do we want to visualize the results, but we also want a quantitative measure to determine how accurate the model is.</p>\n",
    "\n",
    "<p>Two very important measures that are often used in Statistics to determine the accuracy of a model are:</p>\n",
    "<ul>\n",
    "    <li><b>R^2 / R-squared</b></li>\n",
    "    <li><b>Mean Squared Error (MSE)</b></li>\n",
    "</ul>\n",
    "    \n",
    "<b>R-squared</b>\n",
    "\n",
    "<p>R squared, also known as the coefficient of determination, is a measure to indicate how close the data is to the fitted regression line.</p>\n",
    "    \n",
    "<p>The value of the R-squared is the percentage of variation of the response variable (y) that is explained by a linear model.</p>\n",
    "\n",
    "\n",
    "\n",
    "<b>Mean Squared Error (MSE)</b>\n",
    "\n",
    "<p>The Mean Squared Error measures the average of the squares of errors, that is, the difference between actual value (y) and the estimated value (ŷ).</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Model 1: Simple Linear Regression</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's calculate the R^2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The R-square is:  0.4965911884339175\n"
     ]
    }
   ],
   "source": [
    "#highway_mpg_fit\n",
    "lm.fit(X, Y)\n",
    "# Find the R^2\n",
    "print('The R-square is: ', lm.score(X, Y))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can say that ~ 49.659% of the variation of the price is explained by this simple linear model \"horsepower_fit\"."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's calculate the MSE"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can predict the output i.e., \"yhat\" using the predict method, where X is the input variable:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The output of the first four predicted value is:  [16236.50464347 16236.50464347 17058.23802179 13771.3045085 ]\n"
     ]
    }
   ],
   "source": [
    "Yhat=lm.predict(X)\n",
    "print('The output of the first four predicted value is: ', Yhat[0:4])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "lets import the function <b>mean_squared_error</b> from the module <b>metrics</b>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import mean_squared_error"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "we compare the predicted results with the actual results "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The mean square error of price and predicted value is:  31635042.944639895\n"
     ]
    }
   ],
   "source": [
    "mse = mean_squared_error(df['price'], Yhat)\n",
    "print('The mean square error of price and predicted value is: ', mse)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Model 2: Multiple Linear Regression</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's calculate the R^2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The R-square is:  0.8093562806577458\n"
     ]
    }
   ],
   "source": [
    "# fit the model \n",
    "lm.fit(Z, df['price'])\n",
    "# Find the R^2\n",
    "print('The R-square is: ', lm.score(Z, df['price']))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can say that ~ 80.896 % of the variation of price is explained by this multiple linear regression \"multi_fit\"."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's calculate the MSE"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " we produce a prediction "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "Y_predict_multifit = lm.predict(Z)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " we compare the predicted results with the actual results "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The mean square error of price and predicted value using multifit is:  11980366.870726489\n"
     ]
    }
   ],
   "source": [
    "print('The mean square error of price and predicted value using multifit is: ', \\\n",
    "      mean_squared_error(df['price'], Y_predict_multifit))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Model 3: Polynomial Fit</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's calculate the R^2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "let’s import the function <b>r2_score</b> from the module <b>metrics</b> as we are using a different function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [],
   "source": [
    "from sklearn.metrics import r2_score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We apply the function to get the value of r^2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "r_squared = r2_score(y, p(x))\n",
    "print('The R-square value is: ', r_squared)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can say that ~ 67.419 % of the variation of price is explained by this polynomial fit"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>MSE</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also calculate the MSE:  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "mean_squared_error(df['price'], p(x))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Part 5: Prediction and Decision Making</h2>\n",
    "<h3>Prediction</h3>\n",
    "\n",
    "<p>In the previous section, we trained the model using the method <b>fit</b>. Now we will use the method <b>predict</b> to produce a prediction. Lets import <b>pyplot</b> for plotting; we will also be using some functions from numpy.</p>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "%matplotlib inline "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Create a new input "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "new_input=np.arange(1, 100, 1).reshape(-1, 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Fit the model "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "lm.fit(X, Y)\n",
    "lm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Produce a prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "yhat=lm.predict(new_input)\n",
    "yhat[0:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "we can plot the data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "plt.plot(new_input, yhat)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Decision Making: Determining a Good Model Fit</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>Now that we have visualized the different models, and generated the R-squared and MSE values for the fits, how do we determine a good model fit?\n",
    "<ul>\n",
    "    <li><i>What is a good R-squared value?</i></li>\n",
    "</ul>\n",
    "</p>\n",
    "\n",
    "<p>When comparing models, <b>the model with the higher R-squared value is a better fit</b> for the data.\n",
    "<ul>\n",
    "    <li><i>What is a good MSE?</i></li>\n",
    "</ul>\n",
    "</p>\n",
    "\n",
    "<p>When comparing models, <b>the model with the smallest MSE value is a better fit</b> for the data.</p>\n",
    "\n",
    "\n",
    "<h4>Let's take a look at the values for the different models.</h4>\n",
    "<p>Simple Linear Regression: Using Highway-mpg as a Predictor Variable of Price.\n",
    "<ul>\n",
    "    <li>R-squared: 0.49659118843391759</li>\n",
    "    <li>MSE: 3.16 x10^7</li>\n",
    "</ul>\n",
    "</p>\n",
    "    \n",
    "<p>Multiple Linear Regression: Using Horsepower, Curb-weight, Engine-size, and Highway-mpg as Predictor Variables of Price.\n",
    "<ul>\n",
    "    <li>R-squared: 0.80896354913783497</li>\n",
    "    <li>MSE: 1.2 x10^7</li>\n",
    "</ul>\n",
    "</p>\n",
    "    \n",
    "<p>Polynomial Fit: Using Highway-mpg as a Predictor Variable of Price.\n",
    "<ul>\n",
    "    <li>R-squared: 0.6741946663906514</li>\n",
    "    <li>MSE: 2.05 x 10^7</li>\n",
    "</ul>\n",
    "</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Simple Linear Regression model (SLR) vs Multiple Linear Regression model (MLR)</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>Usually, the more variables you have, the better your model is at predicting, but this is not always true. Sometimes you may not have enough data, you may run into numerical problems, or many of the variables may not be useful and or even act as noise. As a result, you should always check the MSE and R^2.</p>\n",
    "\n",
    "<p>So to be able to compare the results of the MLR vs SLR models, we look at a combination of both the R-squared and MSE to make the best conclusion about the fit of the model.\n",
    "<ul>\n",
    "    <li><b>MSE</b>The MSE of SLR is  3.16x10^7  while MLR has an MSE of 1.2 x10^7.  The MSE of MLR is much smaller.</li>\n",
    "    <li><b>R-squared</b>: In this case, we can also see that there is a big difference between the R-squared of the SLR and the R-squared of the MLR. The R-squared for the SLR (~0.497) is very small compared to the R-squared for the MLR (~0.809).</li>\n",
    "</ul>\n",
    "</p>\n",
    "\n",
    "This R-squared in combination with the MSE show that MLR seems like the better model fit in this case, compared to SLR."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Simple Linear Model (SLR) vs Polynomial Fit</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<ul>\n",
    "    <li><b>MSE</b>: We can see that Polynomial Fit brought down the MSE, since this MSE is smaller than the one from the SLR.</li> \n",
    "    <li><b>R-squared</b>: The R-squared for the Polyfit is larger than the R-squared for the SLR, so the Polynomial Fit also brought up the R-squared quite a bit.</li>\n",
    "</ul>\n",
    "<p>Since the Polynomial Fit resulted in a lower MSE and a higher R-squared, we can conclude that this was a better fit model than the simple linear regression for predicting Price with Highway-mpg as a predictor variable.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>Multiple Linear Regression (MLR) vs Polynomial Fit</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<ul>\n",
    "    <li><b>MSE</b>: The MSE for the MLR is smaller than the MSE for the Polynomial Fit.</li>\n",
    "    <li><b>R-squared</b>: The R-squared for the MLR is also much larger than for the Polynomial Fit.</li>\n",
    "</ul>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Conclusion:</h2>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<p>Comparing these three models, we conclude that <b>the MLR model is the best model</b> to be able to predict price from our dataset. This result makes sense, since we have 27 variables in total, and we know that more than one of those variables are potential predictors of the final car price.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h1>Thank you for completing this notebook</h1>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
    "\n",
    "    <p><a href=\"https://cocl.us/corsera_da0101en_notebook_bottom\"><img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/BottomAd.png\" width=\"750\" align=\"center\"></a></p>\n",
    "</div>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3>About the Authors:</h3>\n",
    "\n",
    "This notebook was written by <a href=\"https://www.linkedin.com/in/mahdi-noorian-58219234/\" target=\"_blank\">Mahdi Noorian PhD</a>, <a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>, Bahare Talayian, Eric Xiao, Steven Dong, Parizad, Hima Vsudevan and <a href=\"https://www.linkedin.com/in/fiorellawever/\" target=\"_blank\">Fiorella Wenver</a> and <a href=\" https://www.linkedin.com/in/yi-leng-yao-84451275/ \" target=\"_blank\" >Yi Yao</a>.\n",
    "\n",
    "<p><a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a> is a Data Scientist at IBM, and holds a PhD in Electrical Engineering. His research focused on using Machine Learning, Signal Processing, and Computer Vision to determine how videos impact human cognition. Joseph has been working for IBM since he completed his PhD.</p>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<hr>\n",
    "<p>Copyright &copy; 2018 IBM Developer Skills Network. This notebook and its source code are released under the terms of the <a href=\"https://cognitiveclass.ai/mit-license/\">MIT License</a>.</p>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python",
   "language": "python",
   "name": "conda-env-python-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
